Find the number of islands

       
    
    Given a grid consisting of '0's(Water) and '1's(Land). Find the number of islands.
    Note: An island is surrounded by water and is formed by connecting adjacent lands horizontally or 
    vertically or diagonally i.e., in all 8 directions.
    
    Example 1:

    Input:
    grid = {{0,1},{1,0},{1,1},{1,0}}
    Output:
    1
    Explanation:
    The grid is-
    0 1
    1 0
    1 1
    1 0
    All lands are connected.

    Example 2:

    Input:
    grid = {{0,1,1,1,0,0,0},{0,0,1,1,0,1,0}}
    Output:
    2
    Expanation:
    The grid is-
    0 1 1 1 0 0 0
    0 0 1 1 0 1 0 
 
      
      
      

        
        



Code void dfs(vector<vector<char>>& grid,int i,int j) { if(i>=0&&j>=0&&i<grid.size()&&j<grid[0].size()&&grid[i][j]=='1') { grid[i][j]=0; dfs(grid,i+1,j); dfs(grid,i,j-1); dfs(grid,i,j+1); dfs(grid,i+1,j+1); dfs(grid,i+1,j-1); dfs(grid,i-1,j+1); dfs(grid,i-1,j-1); dfs(grid,i-1,j); dfs(grid,i,j); } return ; } int numIslands(vector<vector>& grid) { int i,j; int count=0; for(i=0;i<grid.size();i++) { for(j=0;j<grid[0].size();j++) { if(grid[i][j]=='1') { dfs(grid,i,j); count++; } } } return count; }